#ifndef IDENTIFIERTABLE_H
#define IDENTIFIERTABLE_H

typedef struct identifierNode
{
  char name[256];
  struct identifierNode *next;
} identifierNode;

typedef struct
{
  identifierNode *head;
  identifierNode *tail;
  int counter;
} identifierTable;

identifierTable *createIdentifierTable();
void deleteIdentifierTable(identifierTable *table);
int addIdentifier(identifierTable *table, const char name[]);
char *getIdentifier(identifierTable *table, int index, char *buffer);
void dumpIdentifierTable(identifierTable *table);

#endif

